Package sidplay.audio
package sidplay.audio
Core audio interfaces and configuration classes used by all audio backends.
The sidplay.audio package defines the foundational abstractions for
sound output in JSIDPlay2. It provides the AudioDriver
interface, which defines the lifecycle and buffer access pattern for
producing audio samples, and the VideoDriver interface
for optional video frame output.
Implementations of these interfaces reside in platform-specific subpackages
(such as sidplay.audio.xuggle or client.teavm.common.audio),
while this package contains the shared contracts and configuration logic.
The AudioConfig class encapsulates playback parameters
such as sample rate, buffer size, and number of channels, based on user or
INI configuration. Common exception types and error handling for audio
backends are also provided here.
Responsibilities
- Define the standard audio driver and video driver interfaces
- Provide configuration and initialization utilities
- Serve as the common layer for all audio output backends
- Autor:
- Ken Händel
-
KlasseBeschreibungFile based driver to create a AAC file.File based driver to create a AAC file.Driver to write into an AAC output stream.
Note: The caller is responsible of closing the output streamAudio output.Audio configuration (frame rate, channels, etc.)File based driver to create a AVI file.File based driver to create a AVI file.Sound driver to compare emulation with MP3 recording (listen to emulation and MP3 recording in parallel).File based driver to create a FLAC file.Driver to write into an FLAC output stream.
Note: The caller is responsible of closing the output streamAllows FLV file write and as an alternative creating a real-time video stream via RTMP protocol e.g.File based driver to create a FLV file.Driver to upload real-time video stream via RTMP protocol to a web server.
E.g "rtmp://localhost/live/test" Note: RTMP enabled web-server must be running (e.g. nginx + rtmp module) Note: RTMP enabled web-server must be started beforehand (e.g. sudo /usr/local/nginx/sbin/nginx)Abstract base class to output an MP3 encoded tune to an output stream.File based driver to create a MP3 file.Driver to write into an MP3 encoded output stream.
Note: The caller is responsible of closing the output streamAbstract base class to output a WAV to an output stream.File based driver to create a WAV file.Driver to write into an WAV output stream.
Note: The caller is responsible of closing the output streamAbstract base class to output an MP3 encoded tune to an output stream.File based driver to create a MP3 file.Driver to write into an MP3 encoded output stream.
Note: The caller is responsible of closing the output streamFile based driver to create a MP4 file.Proxy driver to use two different sound or video drivers at the same time.File based driver to create a SID dump file.Driver to write into an SID dump stream.
Note: The caller is responsible of closing the output streamFile based driver to create a SID reg file.Driver to write into an SID reg stream.
Note: The caller is responsible of closing the output streamNo sound output at all, but sleeps regularly to slow down audio/video production.Abstract base class to output a WAV to an output stream.File based driver to create a WAV file.Driver to write into an WAV output stream.
Note: The caller is responsible of closing the output stream Note: WAV header is missing using the XuggleAudioDriver, therefore kind of useless